home *** CD-ROM | disk | FTP | other *** search
- /* REXX */
-
- /* Arrays are built by appending a period and an index to a variable name */
- /* Typically the size of the array is stored in index 0 */
-
- /* Build a list of 50 prime numbers */
-
- list.0= 0
- z= 3
-
- DO WHILE list.0<50
- IF \ HAS_DIVIDERS(z) THEN DO /* IF NOT ... THEN */
- list.0= list.0+1
- ind= list.0
- list.ind= z
- END
-
- z= z+2
- END
-
- DO i=1 TO list.0
- SAY list.i
- END
-
- EXIT
-
-
- /* Below is a function. The word PROCEDURE was added, to give it a */
- /* local variable pool. Exchange of data with the calling program is */
- /* done through argument passing and result return mechanism. */
- HAS_DIVIDERS: PROCEDURE
- /* Pick up first (and only) argument */
- z= ARG(1)
- result= 0
-
- DO i=2 TO z-1
- IF (z//i)=0 THEN DO
- /* leave loop if i is a divider of z */
- result= 1
- LEAVE i
- END
- END
-
- RETURN result
-
-